import java.util.Scanner;

public class demo1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        Scanner scanner=new Scanner(System.in);
        int N=scanner.nextInt();
        int K=scanner.nextInt();
        int []arr=new int[N];
        for(int i=0;i<N;i++) {
            int temp=scanner.nextInt();
            arr[i]=temp;
        }
        //注意数据范围
        long sum=0;
        //用于记录前缀和K取余结果出现的次数
        long []temp=new long[K];
        temp[0]=1;//一定是1 如果第一个数取余为0符合条件
        //记录当前前缀和
        long t=0;
        for (int i = 0; i <N ; i++) {
            t+=arr[i];
            //计算当前前缀和对K取余的结果
            int remained =(int)((t%K+K)%K);
            //累加余数相同的前缀和个数
            sum+=temp[remained];
            //更新余数出现次数
            temp[remained]++;
        }
        System.out.println(sum);
        scan.close();
    }
}
